home *** CD-ROM | disk | FTP | other *** search
- var
- top_eb:array[0..1] of record
- gmi:boolean;
- tbas_ad:word;
- end;
-
- Procedure Top_Sakla;assembler;
- asm
- push DS
- cmp ekr_no,0
- jne @1
- mov DI,80
- mov BX,offset top_eb+1
- jmp @2
- @1:mov DI,2*maxx*13+80
- mov BX,offset top_eb+4
- @2:
- imul SI,[top].y,2*maxx
- mov AX,obj_x
- shr AX,1
- shr AX,1
- add SI,AX
- add SI,ekr_adress
- mov [BX],SI
-
- mov DX,03c4h
- mov AX,0f02h
- out DX,AX
- mov DX,03ceh
- mov AX,4105h
- out DX,AX
-
- mov AX,0a000h
- mov ES,AX
- mov DS,AX
-
-
- mov BX,13
- @3:mov CX,4
- rep movsb
- add SI,2*maxx-16/4
- add DI,2*maxx-16/4
- dec BX
- jne @3
-
-
- {mov DX,03ceh}
- mov AX,4005h
- out DX,AX
-
- pop DS
-
- end;
-
- Procedure Top_EskiGor;assembler;
- asm
- cld
- cmp ekr_no,0
- jne @1
- mov SI,offset top_eb
- mov BX,40*2
-
- jmp @2
- @1:mov SI,offset top_eb+3
- mov BX,2*maxx*13+80
- @2:
- lodsb
- or Al,Al
- je @son
-
- mov DI,[SI]
- mov SI,BX
-
- mov DX,03c4h
- mov AX,0f02h
- out DX,AX
- mov DX,03ceh
- mov AX,4105h
- out DX,AX
-
- push DS
- mov AX,0a000h
- mov ES,AX
- mov DS,AX
-
- mov BX,13
- @3:mov CX,4
- rep movsb
- add DI,2*maxx-16/4
- add SI,2*maxx-16/4
- dec BX
- jne @3
-
-
- {mov DX,03ceh}
- mov AX,4005h
- out DX,AX
-
- pop DS
- @Son:
- end;
-
- Procedure top_gor;assembler;
- asm
- push DS
- mov DX,03c4h
- mov Al,02h
- inc DX
- imul DI,[top].y,2*maxx
- mov AX,obj_x
- mov CX,AX
- shr AX,1
- shr AX,1
- add DI,AX
- mov Ah,11h
- and Cl,3
- shl Ah,Cl
-
- add DI,ekr_adress
- lds SI,top_p
-
- mov Bl,4
- @0:
- mov Al,Ah
- out DX,Al
- mov Bh,13
- @1:
- mov CX,16/4
- @2:
- lodsb
- or Al,Al
- je @3
- stosb
- loop @2
- jmp @4
- @3:
- inc DI
- loop @2
- @4:
- add DI,2*maxx-16/4
- dec Bh
- jne @1
- rol Ah,1
- adc DI,0
- sub DI,2*maxx*13
- dec Bl
- jne @0
- pop DS
- end;
-
-